package stringbuilder01;

/*
   需求：
      已知一个整数数组
         int[] arr={15,17,21,32}
         最终打印结果为：
          "[15,17,21,32]"
          [15, 17, 21, 32, ]

       利用+号 和StringBuilder 分别

   StringBuilder 更节约内存，推荐使用StringBuilder
     +拼接中含有变量，每利用+号拼接一次变量都要创建一个新的StringBuilder对象
     而我们利用StringBuilder容器拼接，只创建了一次StringBuilder
 */
public class StringBuilderDemo09 {
    public static void main(String[] args) {
        //method01();

        //1.定义一个数组
        int[] arr={15,17,21,32};

        //2.创建一个容器，初值为”[“
        StringBuilder sb = new StringBuilder("[");

        //3.通过遍历进行拼接
        for (int i = 0; i < arr.length; i++) {

            sb.append(arr[i]);
            if (i != arr.length - 1) { //如果不是最后一个元素，就拼接”， “
                sb.append(", ");
            }
        }
        sb.append("]");
        System.out.println(sb);

    }

    private static void method01() {
        //1.定义一个整数数组
        int[] arr = {15, 17, 21, 32};

        //2.首先我们定义一个字符串变量初值为"[",利用str来反复拼接
        String str = "[";

        //3.拼接数组中的元素，包括 “， ”
        for (int i = 0; i < arr.length; i++) {
            // str=str+arr[i]+", ";//  str ="["+15+", "="[15, "
            //  str ="[15, " + 17 +", "="[15, 17, "

            str = str + arr[i]; //所有元素都会拼接
            if (i != arr.length - 1) { //如果不是最后一个元素，就拼接”， “
                str = str + ", ";
            }
        }
        //4.拼接"]"
        str = str + "]";
        System.out.println(str);
    }
}
